VATA: A Library for Efficient Manipulation of Non-deterministic Tree Automata
نویسندگان
چکیده
In this paper, we present VATA, a versatile and efficient open-source tree automata library applicable, e.g., in formal verification. The library supports both explicit and semi-symbolic encoding of non-deterministic finite tree automata and provides efficient implementation of standard operations on both. The semi-symbolic encoding is intended for tree automata with large alphabets. For storing their transition functions, a newly implemented MTBDD library is used. In order to enable the widest possible range of applications of the library even for the semi-symbolic encoding, we provide both bottom-up and top-down semi-symbolic representations. The library implements several highly optimised reduction algorithms based on downward and upward simulations as well as algorithms for testing automata inclusion based on upward and downward antichains and simulations. We compare the performance of the algorithms on a set of test cases and we also compare the performance of VATA with our previous implementations of tree automata.
منابع مشابه
Verification of Pointer Programs Based on Forest Automata
In this work, we develop an existing method for shape analysis based on so called forest automata, and we also improve its implementation, the tool Forester. Forest automata are based on tree automata and Forester includes a simple implementation of tree automata. Our first contribution is replacing this implementation by a general purpose tree automata library VATA, which contains highly optim...
متن کاملParallel Construction of Minimal Suffix and Factor Automata
This paper gives optimal parallel algorithms for the construction of the smallest deterministic finite automata recognizing all the suffixes and the factors of a string. The algorithms use recently discovered optimal parallel suffix tree construction algorithms together with data structures for the efficient manipulation of trees, exploiting the well known relation between suffix and factor aut...
متن کاملTree Automata
This work presents a machine-checked tree automata library for Standard-ML, OCaml and Haskell. The algorithms are efficient by using appropriate data structures like RB-trees. The available algorithms for non-deterministic automata include membership query, reduction, intersection, union, and emptiness check with computation of a witness for non-emptiness. The executable algorithms are derived ...
متن کاملEfficient Inclusion Checking on Explicit and Semi-symbolic Tree Automata
The paper considers several issues related to efficient use of tree automata in formal verification. First, a new efficient algorithm for inclusion checking on non-deterministic tree automata is proposed. The algorithm traverses the automaton downward, utilising antichains and simulations to optimise its run. Results of a set of experiments are provided, showing that such an approach often very...
متن کاملEfficient inclusion checking for deterministic tree automata and XML Schemas
We present algorithms for testing language inclusion L(A) ⊆ L(B) between tree automata in time O(|A| · |B|) where B is deterministic (bottom-up or top-down). We extend our algorithms for testing inclusion of automata for unranked trees A in deterministic DTDs or deterministic EDTDs with restrained competition D in time O(|A| · |Σ| · |D|). Previous algorithms were less efficient or less general.
متن کامل